package com.example.administrator.fangbook.utils;

import android.util.Log;

/**
 * 日志工具
 *
 * @author : bywyu
 * @version : 1.0
 * @Copyright : 2011-2088 Chineseall. All Rights Reserved.
 * @since：Jdk1.6
 * @date : 2011-6-8 下午02:16:41
 * @see :
 */
public class LogUtil {

    private static final String TAG = "READER";
    private static boolean DEBUG = true;

    public static void init(boolean isDebug) {
        DEBUG = isDebug;
    }

    /**
     * Log.i打印日志信息
     *
     * @param o   类文件
     * @param msg 打印的日志信息
     */
    public static void e(Object o, String msg) {

        String cName = getClassName(o);
        if (DEBUG) {
            Log.e(TAG, cName + " " + msg);
        }
    }

    /**
     * Log.i打印日志信息
     *
     * @param o   类文件
     * @param msg 打印的日志信息
     */
    public static void i(Object o, String msg) {

        String cName = getClassName(o);
        if (DEBUG) {
            Log.i(TAG, cName + " " + msg);
        }
    }

    /**
     * Log.i打印日志信息
     *
     * @param o   类文件
     * @param msg 打印的日志信息
     */
    public static void w(Object o, String msg) {

        String cName = getClassName(o);
        if (DEBUG) {
            Log.w(TAG, cName + " " + msg);
        }
    }

    /**
     * Log.d打印日志信息 log
     *
     * @param c   类文件
     * @param msg 打印的日志信息
     */
    public static void d(Object c, String msg) {
        if (DEBUG) {
            String cName = getClassName(c);
            Log.d(TAG, cName + " " + msg);
        }
    }

    /**
     * 获取文件类名（去除之前的包名）
     *
     * @param o
     * @return 类名
     */
    private static String getClassName(Object o) {
        if (o == null) {
            return "";
        }
        Class<? extends Object> c = o.getClass();
        String cName = c.getName();
        String[] tmp = cName.split("\\.");
        cName = tmp[tmp.length - 1];

        return cName;
    }

    public static void i(String tag, String msg) {
        if (DEBUG) {
            Log.i(tag, " Thread : " + Thread.currentThread().getName() + " msg = " + msg);
        }
    }

    public static void w(String tag, String msg) {
        if (DEBUG) {
            Log.w(tag, msg);
        }
    }

    public static void d(String tag, String msg) {
        if (DEBUG) {
            Log.d(tag, msg);
        }
    }

    public static void e(String tag, String msg) {
        if (DEBUG) {
            Log.e(tag, msg);
        }
    }
}
